package com.cn.kehong.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PlanYearDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PlanYearDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andPlanYearIdIsNull() {
            addCriterion("plan_year_id is null");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdIsNotNull() {
            addCriterion("plan_year_id is not null");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdEqualTo(String value) {
            addCriterion("plan_year_id =", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdNotEqualTo(String value) {
            addCriterion("plan_year_id <>", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdGreaterThan(String value) {
            addCriterion("plan_year_id >", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdGreaterThanOrEqualTo(String value) {
            addCriterion("plan_year_id >=", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdLessThan(String value) {
            addCriterion("plan_year_id <", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdLessThanOrEqualTo(String value) {
            addCriterion("plan_year_id <=", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdLike(String value) {
            addCriterion("plan_year_id like", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdNotLike(String value) {
            addCriterion("plan_year_id not like", value, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdIn(List<String> values) {
            addCriterion("plan_year_id in", values, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdNotIn(List<String> values) {
            addCriterion("plan_year_id not in", values, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdBetween(String value1, String value2) {
            addCriterion("plan_year_id between", value1, value2, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanYearIdNotBetween(String value1, String value2) {
            addCriterion("plan_year_id not between", value1, value2, "planYearId");
            return (Criteria) this;
        }

        public Criteria andPlanTypeIsNull() {
            addCriterion("plan_type is null");
            return (Criteria) this;
        }

        public Criteria andPlanTypeIsNotNull() {
            addCriterion("plan_type is not null");
            return (Criteria) this;
        }

        public Criteria andPlanTypeEqualTo(String value) {
            addCriterion("plan_type =", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeNotEqualTo(String value) {
            addCriterion("plan_type <>", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeGreaterThan(String value) {
            addCriterion("plan_type >", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeGreaterThanOrEqualTo(String value) {
            addCriterion("plan_type >=", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeLessThan(String value) {
            addCriterion("plan_type <", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeLessThanOrEqualTo(String value) {
            addCriterion("plan_type <=", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeLike(String value) {
            addCriterion("plan_type like", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeNotLike(String value) {
            addCriterion("plan_type not like", value, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeIn(List<String> values) {
            addCriterion("plan_type in", values, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeNotIn(List<String> values) {
            addCriterion("plan_type not in", values, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeBetween(String value1, String value2) {
            addCriterion("plan_type between", value1, value2, "planType");
            return (Criteria) this;
        }

        public Criteria andPlanTypeNotBetween(String value1, String value2) {
            addCriterion("plan_type not between", value1, value2, "planType");
            return (Criteria) this;
        }

        public Criteria andItemTypeIsNull() {
            addCriterion("item_type is null");
            return (Criteria) this;
        }

        public Criteria andItemTypeIsNotNull() {
            addCriterion("item_type is not null");
            return (Criteria) this;
        }

        public Criteria andItemTypeEqualTo(String value) {
            addCriterion("item_type =", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotEqualTo(String value) {
            addCriterion("item_type <>", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeGreaterThan(String value) {
            addCriterion("item_type >", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeGreaterThanOrEqualTo(String value) {
            addCriterion("item_type >=", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLessThan(String value) {
            addCriterion("item_type <", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLessThanOrEqualTo(String value) {
            addCriterion("item_type <=", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeLike(String value) {
            addCriterion("item_type like", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotLike(String value) {
            addCriterion("item_type not like", value, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeIn(List<String> values) {
            addCriterion("item_type in", values, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotIn(List<String> values) {
            addCriterion("item_type not in", values, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeBetween(String value1, String value2) {
            addCriterion("item_type between", value1, value2, "itemType");
            return (Criteria) this;
        }

        public Criteria andItemTypeNotBetween(String value1, String value2) {
            addCriterion("item_type not between", value1, value2, "itemType");
            return (Criteria) this;
        }

        public Criteria andV1IsNull() {
            addCriterion("v1 is null");
            return (Criteria) this;
        }

        public Criteria andV1IsNotNull() {
            addCriterion("v1 is not null");
            return (Criteria) this;
        }

        public Criteria andV1EqualTo(String value) {
            addCriterion("v1 =", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1NotEqualTo(String value) {
            addCriterion("v1 <>", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1GreaterThan(String value) {
            addCriterion("v1 >", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1GreaterThanOrEqualTo(String value) {
            addCriterion("v1 >=", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1LessThan(String value) {
            addCriterion("v1 <", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1LessThanOrEqualTo(String value) {
            addCriterion("v1 <=", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1Like(String value) {
            addCriterion("v1 like", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1NotLike(String value) {
            addCriterion("v1 not like", value, "v1");
            return (Criteria) this;
        }

        public Criteria andV1In(List<String> values) {
            addCriterion("v1 in", values, "v1");
            return (Criteria) this;
        }

        public Criteria andV1NotIn(List<String> values) {
            addCriterion("v1 not in", values, "v1");
            return (Criteria) this;
        }

        public Criteria andV1Between(String value1, String value2) {
            addCriterion("v1 between", value1, value2, "v1");
            return (Criteria) this;
        }

        public Criteria andV1NotBetween(String value1, String value2) {
            addCriterion("v1 not between", value1, value2, "v1");
            return (Criteria) this;
        }

        public Criteria andV2IsNull() {
            addCriterion("v2 is null");
            return (Criteria) this;
        }

        public Criteria andV2IsNotNull() {
            addCriterion("v2 is not null");
            return (Criteria) this;
        }

        public Criteria andV2EqualTo(String value) {
            addCriterion("v2 =", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2NotEqualTo(String value) {
            addCriterion("v2 <>", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2GreaterThan(String value) {
            addCriterion("v2 >", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2GreaterThanOrEqualTo(String value) {
            addCriterion("v2 >=", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2LessThan(String value) {
            addCriterion("v2 <", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2LessThanOrEqualTo(String value) {
            addCriterion("v2 <=", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2Like(String value) {
            addCriterion("v2 like", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2NotLike(String value) {
            addCriterion("v2 not like", value, "v2");
            return (Criteria) this;
        }

        public Criteria andV2In(List<String> values) {
            addCriterion("v2 in", values, "v2");
            return (Criteria) this;
        }

        public Criteria andV2NotIn(List<String> values) {
            addCriterion("v2 not in", values, "v2");
            return (Criteria) this;
        }

        public Criteria andV2Between(String value1, String value2) {
            addCriterion("v2 between", value1, value2, "v2");
            return (Criteria) this;
        }

        public Criteria andV2NotBetween(String value1, String value2) {
            addCriterion("v2 not between", value1, value2, "v2");
            return (Criteria) this;
        }

        public Criteria andV3IsNull() {
            addCriterion("v3 is null");
            return (Criteria) this;
        }

        public Criteria andV3IsNotNull() {
            addCriterion("v3 is not null");
            return (Criteria) this;
        }

        public Criteria andV3EqualTo(String value) {
            addCriterion("v3 =", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3NotEqualTo(String value) {
            addCriterion("v3 <>", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3GreaterThan(String value) {
            addCriterion("v3 >", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3GreaterThanOrEqualTo(String value) {
            addCriterion("v3 >=", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3LessThan(String value) {
            addCriterion("v3 <", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3LessThanOrEqualTo(String value) {
            addCriterion("v3 <=", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3Like(String value) {
            addCriterion("v3 like", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3NotLike(String value) {
            addCriterion("v3 not like", value, "v3");
            return (Criteria) this;
        }

        public Criteria andV3In(List<String> values) {
            addCriterion("v3 in", values, "v3");
            return (Criteria) this;
        }

        public Criteria andV3NotIn(List<String> values) {
            addCriterion("v3 not in", values, "v3");
            return (Criteria) this;
        }

        public Criteria andV3Between(String value1, String value2) {
            addCriterion("v3 between", value1, value2, "v3");
            return (Criteria) this;
        }

        public Criteria andV3NotBetween(String value1, String value2) {
            addCriterion("v3 not between", value1, value2, "v3");
            return (Criteria) this;
        }

        public Criteria andV4IsNull() {
            addCriterion("v4 is null");
            return (Criteria) this;
        }

        public Criteria andV4IsNotNull() {
            addCriterion("v4 is not null");
            return (Criteria) this;
        }

        public Criteria andV4EqualTo(String value) {
            addCriterion("v4 =", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4NotEqualTo(String value) {
            addCriterion("v4 <>", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4GreaterThan(String value) {
            addCriterion("v4 >", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4GreaterThanOrEqualTo(String value) {
            addCriterion("v4 >=", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4LessThan(String value) {
            addCriterion("v4 <", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4LessThanOrEqualTo(String value) {
            addCriterion("v4 <=", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4Like(String value) {
            addCriterion("v4 like", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4NotLike(String value) {
            addCriterion("v4 not like", value, "v4");
            return (Criteria) this;
        }

        public Criteria andV4In(List<String> values) {
            addCriterion("v4 in", values, "v4");
            return (Criteria) this;
        }

        public Criteria andV4NotIn(List<String> values) {
            addCriterion("v4 not in", values, "v4");
            return (Criteria) this;
        }

        public Criteria andV4Between(String value1, String value2) {
            addCriterion("v4 between", value1, value2, "v4");
            return (Criteria) this;
        }

        public Criteria andV4NotBetween(String value1, String value2) {
            addCriterion("v4 not between", value1, value2, "v4");
            return (Criteria) this;
        }

        public Criteria andV5IsNull() {
            addCriterion("v5 is null");
            return (Criteria) this;
        }

        public Criteria andV5IsNotNull() {
            addCriterion("v5 is not null");
            return (Criteria) this;
        }

        public Criteria andV5EqualTo(String value) {
            addCriterion("v5 =", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5NotEqualTo(String value) {
            addCriterion("v5 <>", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5GreaterThan(String value) {
            addCriterion("v5 >", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5GreaterThanOrEqualTo(String value) {
            addCriterion("v5 >=", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5LessThan(String value) {
            addCriterion("v5 <", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5LessThanOrEqualTo(String value) {
            addCriterion("v5 <=", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5Like(String value) {
            addCriterion("v5 like", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5NotLike(String value) {
            addCriterion("v5 not like", value, "v5");
            return (Criteria) this;
        }

        public Criteria andV5In(List<String> values) {
            addCriterion("v5 in", values, "v5");
            return (Criteria) this;
        }

        public Criteria andV5NotIn(List<String> values) {
            addCriterion("v5 not in", values, "v5");
            return (Criteria) this;
        }

        public Criteria andV5Between(String value1, String value2) {
            addCriterion("v5 between", value1, value2, "v5");
            return (Criteria) this;
        }

        public Criteria andV5NotBetween(String value1, String value2) {
            addCriterion("v5 not between", value1, value2, "v5");
            return (Criteria) this;
        }

        public Criteria andV6IsNull() {
            addCriterion("v6 is null");
            return (Criteria) this;
        }

        public Criteria andV6IsNotNull() {
            addCriterion("v6 is not null");
            return (Criteria) this;
        }

        public Criteria andV6EqualTo(String value) {
            addCriterion("v6 =", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6NotEqualTo(String value) {
            addCriterion("v6 <>", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6GreaterThan(String value) {
            addCriterion("v6 >", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6GreaterThanOrEqualTo(String value) {
            addCriterion("v6 >=", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6LessThan(String value) {
            addCriterion("v6 <", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6LessThanOrEqualTo(String value) {
            addCriterion("v6 <=", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6Like(String value) {
            addCriterion("v6 like", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6NotLike(String value) {
            addCriterion("v6 not like", value, "v6");
            return (Criteria) this;
        }

        public Criteria andV6In(List<String> values) {
            addCriterion("v6 in", values, "v6");
            return (Criteria) this;
        }

        public Criteria andV6NotIn(List<String> values) {
            addCriterion("v6 not in", values, "v6");
            return (Criteria) this;
        }

        public Criteria andV6Between(String value1, String value2) {
            addCriterion("v6 between", value1, value2, "v6");
            return (Criteria) this;
        }

        public Criteria andV6NotBetween(String value1, String value2) {
            addCriterion("v6 not between", value1, value2, "v6");
            return (Criteria) this;
        }

        public Criteria andV7IsNull() {
            addCriterion("v7 is null");
            return (Criteria) this;
        }

        public Criteria andV7IsNotNull() {
            addCriterion("v7 is not null");
            return (Criteria) this;
        }

        public Criteria andV7EqualTo(String value) {
            addCriterion("v7 =", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7NotEqualTo(String value) {
            addCriterion("v7 <>", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7GreaterThan(String value) {
            addCriterion("v7 >", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7GreaterThanOrEqualTo(String value) {
            addCriterion("v7 >=", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7LessThan(String value) {
            addCriterion("v7 <", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7LessThanOrEqualTo(String value) {
            addCriterion("v7 <=", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7Like(String value) {
            addCriterion("v7 like", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7NotLike(String value) {
            addCriterion("v7 not like", value, "v7");
            return (Criteria) this;
        }

        public Criteria andV7In(List<String> values) {
            addCriterion("v7 in", values, "v7");
            return (Criteria) this;
        }

        public Criteria andV7NotIn(List<String> values) {
            addCriterion("v7 not in", values, "v7");
            return (Criteria) this;
        }

        public Criteria andV7Between(String value1, String value2) {
            addCriterion("v7 between", value1, value2, "v7");
            return (Criteria) this;
        }

        public Criteria andV7NotBetween(String value1, String value2) {
            addCriterion("v7 not between", value1, value2, "v7");
            return (Criteria) this;
        }

        public Criteria andV8IsNull() {
            addCriterion("v8 is null");
            return (Criteria) this;
        }

        public Criteria andV8IsNotNull() {
            addCriterion("v8 is not null");
            return (Criteria) this;
        }

        public Criteria andV8EqualTo(String value) {
            addCriterion("v8 =", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8NotEqualTo(String value) {
            addCriterion("v8 <>", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8GreaterThan(String value) {
            addCriterion("v8 >", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8GreaterThanOrEqualTo(String value) {
            addCriterion("v8 >=", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8LessThan(String value) {
            addCriterion("v8 <", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8LessThanOrEqualTo(String value) {
            addCriterion("v8 <=", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8Like(String value) {
            addCriterion("v8 like", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8NotLike(String value) {
            addCriterion("v8 not like", value, "v8");
            return (Criteria) this;
        }

        public Criteria andV8In(List<String> values) {
            addCriterion("v8 in", values, "v8");
            return (Criteria) this;
        }

        public Criteria andV8NotIn(List<String> values) {
            addCriterion("v8 not in", values, "v8");
            return (Criteria) this;
        }

        public Criteria andV8Between(String value1, String value2) {
            addCriterion("v8 between", value1, value2, "v8");
            return (Criteria) this;
        }

        public Criteria andV8NotBetween(String value1, String value2) {
            addCriterion("v8 not between", value1, value2, "v8");
            return (Criteria) this;
        }

        public Criteria andV9IsNull() {
            addCriterion("v9 is null");
            return (Criteria) this;
        }

        public Criteria andV9IsNotNull() {
            addCriterion("v9 is not null");
            return (Criteria) this;
        }

        public Criteria andV9EqualTo(String value) {
            addCriterion("v9 =", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9NotEqualTo(String value) {
            addCriterion("v9 <>", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9GreaterThan(String value) {
            addCriterion("v9 >", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9GreaterThanOrEqualTo(String value) {
            addCriterion("v9 >=", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9LessThan(String value) {
            addCriterion("v9 <", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9LessThanOrEqualTo(String value) {
            addCriterion("v9 <=", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9Like(String value) {
            addCriterion("v9 like", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9NotLike(String value) {
            addCriterion("v9 not like", value, "v9");
            return (Criteria) this;
        }

        public Criteria andV9In(List<String> values) {
            addCriterion("v9 in", values, "v9");
            return (Criteria) this;
        }

        public Criteria andV9NotIn(List<String> values) {
            addCriterion("v9 not in", values, "v9");
            return (Criteria) this;
        }

        public Criteria andV9Between(String value1, String value2) {
            addCriterion("v9 between", value1, value2, "v9");
            return (Criteria) this;
        }

        public Criteria andV9NotBetween(String value1, String value2) {
            addCriterion("v9 not between", value1, value2, "v9");
            return (Criteria) this;
        }

        public Criteria andV10IsNull() {
            addCriterion("v10 is null");
            return (Criteria) this;
        }

        public Criteria andV10IsNotNull() {
            addCriterion("v10 is not null");
            return (Criteria) this;
        }

        public Criteria andV10EqualTo(String value) {
            addCriterion("v10 =", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10NotEqualTo(String value) {
            addCriterion("v10 <>", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10GreaterThan(String value) {
            addCriterion("v10 >", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10GreaterThanOrEqualTo(String value) {
            addCriterion("v10 >=", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10LessThan(String value) {
            addCriterion("v10 <", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10LessThanOrEqualTo(String value) {
            addCriterion("v10 <=", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10Like(String value) {
            addCriterion("v10 like", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10NotLike(String value) {
            addCriterion("v10 not like", value, "v10");
            return (Criteria) this;
        }

        public Criteria andV10In(List<String> values) {
            addCriterion("v10 in", values, "v10");
            return (Criteria) this;
        }

        public Criteria andV10NotIn(List<String> values) {
            addCriterion("v10 not in", values, "v10");
            return (Criteria) this;
        }

        public Criteria andV10Between(String value1, String value2) {
            addCriterion("v10 between", value1, value2, "v10");
            return (Criteria) this;
        }

        public Criteria andV10NotBetween(String value1, String value2) {
            addCriterion("v10 not between", value1, value2, "v10");
            return (Criteria) this;
        }

        public Criteria andV11IsNull() {
            addCriterion("v11 is null");
            return (Criteria) this;
        }

        public Criteria andV11IsNotNull() {
            addCriterion("v11 is not null");
            return (Criteria) this;
        }

        public Criteria andV11EqualTo(String value) {
            addCriterion("v11 =", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11NotEqualTo(String value) {
            addCriterion("v11 <>", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11GreaterThan(String value) {
            addCriterion("v11 >", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11GreaterThanOrEqualTo(String value) {
            addCriterion("v11 >=", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11LessThan(String value) {
            addCriterion("v11 <", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11LessThanOrEqualTo(String value) {
            addCriterion("v11 <=", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11Like(String value) {
            addCriterion("v11 like", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11NotLike(String value) {
            addCriterion("v11 not like", value, "v11");
            return (Criteria) this;
        }

        public Criteria andV11In(List<String> values) {
            addCriterion("v11 in", values, "v11");
            return (Criteria) this;
        }

        public Criteria andV11NotIn(List<String> values) {
            addCriterion("v11 not in", values, "v11");
            return (Criteria) this;
        }

        public Criteria andV11Between(String value1, String value2) {
            addCriterion("v11 between", value1, value2, "v11");
            return (Criteria) this;
        }

        public Criteria andV11NotBetween(String value1, String value2) {
            addCriterion("v11 not between", value1, value2, "v11");
            return (Criteria) this;
        }

        public Criteria andV12IsNull() {
            addCriterion("v12 is null");
            return (Criteria) this;
        }

        public Criteria andV12IsNotNull() {
            addCriterion("v12 is not null");
            return (Criteria) this;
        }

        public Criteria andV12EqualTo(String value) {
            addCriterion("v12 =", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12NotEqualTo(String value) {
            addCriterion("v12 <>", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12GreaterThan(String value) {
            addCriterion("v12 >", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12GreaterThanOrEqualTo(String value) {
            addCriterion("v12 >=", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12LessThan(String value) {
            addCriterion("v12 <", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12LessThanOrEqualTo(String value) {
            addCriterion("v12 <=", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12Like(String value) {
            addCriterion("v12 like", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12NotLike(String value) {
            addCriterion("v12 not like", value, "v12");
            return (Criteria) this;
        }

        public Criteria andV12In(List<String> values) {
            addCriterion("v12 in", values, "v12");
            return (Criteria) this;
        }

        public Criteria andV12NotIn(List<String> values) {
            addCriterion("v12 not in", values, "v12");
            return (Criteria) this;
        }

        public Criteria andV12Between(String value1, String value2) {
            addCriterion("v12 between", value1, value2, "v12");
            return (Criteria) this;
        }

        public Criteria andV12NotBetween(String value1, String value2) {
            addCriterion("v12 not between", value1, value2, "v12");
            return (Criteria) this;
        }

        public Criteria andV13IsNull() {
            addCriterion("v13 is null");
            return (Criteria) this;
        }

        public Criteria andV13IsNotNull() {
            addCriterion("v13 is not null");
            return (Criteria) this;
        }

        public Criteria andV13EqualTo(String value) {
            addCriterion("v13 =", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13NotEqualTo(String value) {
            addCriterion("v13 <>", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13GreaterThan(String value) {
            addCriterion("v13 >", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13GreaterThanOrEqualTo(String value) {
            addCriterion("v13 >=", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13LessThan(String value) {
            addCriterion("v13 <", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13LessThanOrEqualTo(String value) {
            addCriterion("v13 <=", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13Like(String value) {
            addCriterion("v13 like", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13NotLike(String value) {
            addCriterion("v13 not like", value, "v13");
            return (Criteria) this;
        }

        public Criteria andV13In(List<String> values) {
            addCriterion("v13 in", values, "v13");
            return (Criteria) this;
        }

        public Criteria andV13NotIn(List<String> values) {
            addCriterion("v13 not in", values, "v13");
            return (Criteria) this;
        }

        public Criteria andV13Between(String value1, String value2) {
            addCriterion("v13 between", value1, value2, "v13");
            return (Criteria) this;
        }

        public Criteria andV13NotBetween(String value1, String value2) {
            addCriterion("v13 not between", value1, value2, "v13");
            return (Criteria) this;
        }

        public Criteria andV14IsNull() {
            addCriterion("v14 is null");
            return (Criteria) this;
        }

        public Criteria andV14IsNotNull() {
            addCriterion("v14 is not null");
            return (Criteria) this;
        }

        public Criteria andV14EqualTo(String value) {
            addCriterion("v14 =", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14NotEqualTo(String value) {
            addCriterion("v14 <>", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14GreaterThan(String value) {
            addCriterion("v14 >", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14GreaterThanOrEqualTo(String value) {
            addCriterion("v14 >=", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14LessThan(String value) {
            addCriterion("v14 <", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14LessThanOrEqualTo(String value) {
            addCriterion("v14 <=", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14Like(String value) {
            addCriterion("v14 like", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14NotLike(String value) {
            addCriterion("v14 not like", value, "v14");
            return (Criteria) this;
        }

        public Criteria andV14In(List<String> values) {
            addCriterion("v14 in", values, "v14");
            return (Criteria) this;
        }

        public Criteria andV14NotIn(List<String> values) {
            addCriterion("v14 not in", values, "v14");
            return (Criteria) this;
        }

        public Criteria andV14Between(String value1, String value2) {
            addCriterion("v14 between", value1, value2, "v14");
            return (Criteria) this;
        }

        public Criteria andV14NotBetween(String value1, String value2) {
            addCriterion("v14 not between", value1, value2, "v14");
            return (Criteria) this;
        }

        public Criteria andV15IsNull() {
            addCriterion("v15 is null");
            return (Criteria) this;
        }

        public Criteria andV15IsNotNull() {
            addCriterion("v15 is not null");
            return (Criteria) this;
        }

        public Criteria andV15EqualTo(String value) {
            addCriterion("v15 =", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15NotEqualTo(String value) {
            addCriterion("v15 <>", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15GreaterThan(String value) {
            addCriterion("v15 >", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15GreaterThanOrEqualTo(String value) {
            addCriterion("v15 >=", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15LessThan(String value) {
            addCriterion("v15 <", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15LessThanOrEqualTo(String value) {
            addCriterion("v15 <=", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15Like(String value) {
            addCriterion("v15 like", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15NotLike(String value) {
            addCriterion("v15 not like", value, "v15");
            return (Criteria) this;
        }

        public Criteria andV15In(List<String> values) {
            addCriterion("v15 in", values, "v15");
            return (Criteria) this;
        }

        public Criteria andV15NotIn(List<String> values) {
            addCriterion("v15 not in", values, "v15");
            return (Criteria) this;
        }

        public Criteria andV15Between(String value1, String value2) {
            addCriterion("v15 between", value1, value2, "v15");
            return (Criteria) this;
        }

        public Criteria andV15NotBetween(String value1, String value2) {
            addCriterion("v15 not between", value1, value2, "v15");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}